|
Shanks's square forms factorization is a method for integer factorization devised by Daniel Shanks as an improvement on Fermat's factorization method. The success of Fermat's method depends on finding integers and such that , where is the integer to be factored. An improvement (noticed by Kraitchik) is to look for integers and such that . Finding a suitable pair does not guarantee a factorization of , but it implies that is a factor of , and there is a good chance that the prime divisors of are distributed between these two factors, so that calculation of the greatest common divisor of and will give a non-trivial factor of . A practical algorithm for finding pairs which satisfy was developed by Shanks, who named it Square Forms Factorization or SQUFOF. The algorithm can be expressed in terms of continued fractions, or in terms of quadratic forms. Although there are now much more efficient factorization methods available, SQUFOF has the advantage that it is small enough to be implemented on a programmable calculator. ==Algorithm== Input: , the integer to be factored, which must be neither a prime number nor a perfect square, and a small multiplier . Output: a non-trivial factor of . The algorithm: Initialize Repeat until is a perfect square at some even . Initialize Repeat until Then if is not equal to and not equal to , then is a non-trivial factor of . Otherwise try another value of . Shanks's method has time complexity . Stephen S. McMasters (see link in External Link section) wrote a more detailed discussion of the mathematics of Shanks's method, together with a proof of its correctness. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Shanks' square forms factorization」の詳細全文を読む スポンサード リンク
|